相信許多人都有玩過google play內建的whirlybird
不僅操作簡單,也非常殺時間
本篇將會帶您親手用疊積木的方式製作一個可以在Arcade上遊玩的whirlybird精簡版
whirlybird-示範影片-5starGameplay
本篇將會做出地圖設置與基本的角色地面碰撞
效果如下
首先要先建立一張直向的地圖,好讓我們的角色可以在裡面活動
從場景中拉出一個貼圖地圖設為
並進入後面tilemap
的編輯模式
先到畫面左下角調整地圖大小
因為是垂直地圖,所以x軸較窄,y軸較高。
經過測試,x軸要設成10才能左右貼齊畫面,
至於y軸,就取決於你關卡的長度,這裡用50作為範例。
設定好大小後,要先建立等等會用到的地面貼圖,也就是空島。
再調整大小的上方有My Tiles
與Gallery
,
其中My Tiles
就是使用自訂的貼圖,Gallery
就是使用官方的範例貼圖。
我自己有畫了貼圖,附在最後的傳送門內,可自行取用。
做為測試,先將最底下一排鋪滿地面。
這麼一來,基本的地圖設置就完成了!
與建置場景大同小異,從角色中拉出變數mySprite設為
進入角色的貼圖編輯模式,將左下方大小設為10x10
角色貼圖為了方便測試,先以邊框做角色即可。
貼圖設立完成後就可以來處理重力及與地面的碰撞了。
從角色裡拉出將mySprite加速度設為
此塊積木的作用為賦予角色y軸的重力加速度,後項參數愈高墜落速度愈高。
再設定角色初始位置,拉出角色mySprite的位置設為
x座標設為至中80,但y座標較特殊,
因角色的預設位置為地圖最上方,所以要將角色的y座標設到畫面外。
此坐標系的原點為地圖左上角,示意圖如下。
經過測試後,發現y座標設為720的角色起始點最能符合y軸高度設為50的地圖,若高度不同需自行用左方的預覽畫面測試。
最後再從場景中拉出鏡頭跟隨角色mySprite
使畫面聚焦在角色上就完成了。
首先要做的就是偵測角色有沒有採到地板,
這裡我們使用場景中當角色sprite類別Player重疊貼圖
並將其中的貼圖選為剛剛設的地面貼圖。
若是偵測到角色與地面貼圖重疊就會執行裡面的積木。
當角色與地面重疊後需要彈跳,換句話說要給角色一個向上的速度,
這裡用將角色的速度設為vx/vy
vy
(y軸速度)設成負的,原因在上面也解釋過。至於速度要設成多少可以自行調整,在範例中我設成-100
這麼一來基礎的角色彈跳就達成了